SlideShare a Scribd company logo
1 of 23
Download to read offline
1
"W"WHEREHERE DDIDID MMYY CPUCPU GGOO?"?" -- MMONITORING ANDONITORING AND CCAPACITYAPACITY
PPLANNINGLANNING AADVENTURES ON ADVENTURES ON A CCONSOLIDATEDONSOLIDATED
EENVIRONMENTNVIRONMENT
Karl Arao, Enkitec
ABSTRACT
This paper will focus on CPU monitoring and capacity planning as well as the scenarios that are typically encountered on a
massively consolidated environment, where, let's say you have 30+ databases and you want to know how much CPUs they are
using at a particular time interval. Before touching on the cool tricks, a deep dive into important CPU topics and metrics is a
MUST. In Oracle world the CPU is not just the "Green Thing" in the Enterprise Manager. It's actually much more than that.
We will discuss the usual CPU monitoring tools in OEM, visualization enhancements that can be made by AWR analytics, and
how these can be applied to critical capacity planning scenarios.
TARGET AUDIENCE
Target audiences are DBAs, Architects, Performance Engineers, and Capacity Planners
Learner will be able to:
• Compare CPU speeds between hardware platforms
• Identify the different database CPU events
• Identify the consolidated CPU load of a cluster environment
• Take quantitative CPU information and make use of visualization tools for solid capacity planning solutions
BACKGROUND
When you migrate a database or when you move instances from one server to another you have to know how will those
instances behave once they are on the new server if the instance CPU requirements will fit on the server CPU capacity.
Knowing the end utilization before even doing the migration is even better because it will enable you to plan for CPU
resource management and project the resource utilization of that machine in the next coming months. Every DBA should
have a deep understanding how the CPU works, how to administer it, and it’s a very critical resource being a big driver on
server migration and acquisition decisions.
PART 1: COMPARING CPU SPEEDS
Let’s start with how Oracle calculates the default settings for CPU resources and this is dictated by the database parameter
CPU_COUNT.
• Essentially the CPU_COUNT is the number of CPUs that your database is using
2
• And that actually boils down to the number of Logical CPUs that you have on your DB server
• And this is actually the parameter that you alter to allocate just specific number of CPUs to a particular database
which is what you do on “Instance Caging”
Let’s dive little bit deeper on the CPU architecture specifically the (Sockets, Cores, Threads) so you’ll have an idea on how
Oracle calculates the default settings for CPU resources.
The above image is the CPU architecture of an Exadata V2 machine with the following specifications:
• Total of 2 sockets that is equivalent to 2 physical CPUs
• Total of 8 cores which is 4 cores for each socket
• Total of 16 threads because with HT each core has 2 logical CPUs
The 16 threads are the Logical CPUs being shown on the CPU_COUNT parameter, another view of this architecture is
shown below from the cpu_topology [1] script output
The cpu_topology script parses the dmidecode and /proc/cpuinfo and it’s very useful for a quick characterization of the CPU
architecture plus the make and model
• The script should give you the hardware make and model when executed as root
• Processors – are numbered sequentially across the two sockets
• If you grep for “Physical ID” – that’s the distinct number of the number of sockets
• If you grep for “Siblings” – that’s the Logical CPUs (per socket)
• “Core ID” is just the ID numbering for each core
• “CPU cores” – number of cores (per socket)
Read on the RedHat Doc-7715 [2] for more details on how to determine if your Intel CPU is multi-processor, multi-core, or
supports Hyper-Threading
3
To monitor the utilization of each Logical CPU and how it maps to core and physical socket there’s a tool by Intel that you
can use called “turbostat” [4], the important columns are as follows:
• The TSC column is the published clock rate of the CPU
• The GHz is the turbo boost clock rate (similar to overclocking)
You can see on the image that there is a single threaded highly active process that made one CPU 99% utilized because
whenever possible the turbo boost feature will increase the frequency of that particular processor core. By using the script
you’ll be able to tell if the turbo boost is kicking in or at least if it’s enabled. On the later sections of the paper I’ll explain more
about this feature and show you the performance matrix when we turn off/on Hyper-Threading and Turbo Boost.
Different methods of measuring CPU speeds:
There are different ways to measure the CPU speed of one platform to another but the bottom line is to come up with a single
currency system between hardware platforms to be able to quickly measure the speed differences. Below are the methods:
• Published benchmarks
TPC-C
SPECint_rate2006
• Actual Benchmarking
cputoolkit
SLOB (Logical IO test)
TPC-C
This is probably the most known benchmark…
• Published by a non-profit organization called Transaction Processing Performance Council (TPC)
• Performance is measured by tpmC and price/performance which you usually see on the Full Disclosure Report
(FDR)
• To get the CPU performance, we need to derive the tpmC/core which we can easily pull the CSV data from the site
• Then we compare this number to another platform which is a good yardstick for comparing different CPUs ability to
crank through database code path (Logical IOs mostly) because they are being executed on an Oracle database
4
Here’s the snippet from the Full Disclosure Report:
Here’s the CSV output [5] of the TPC-C benchmark:
The yardstick of CPU performance is the tpmC / core and the Cisco UCS server above has a value of => 1609186.39 / 16
= 100574
SPECint_rate2006
• Published by a non-profit organization called SPEC
• The organization is more diverse because it has a suite of benchmarks to measure the performance of let’s say
Java, Virtual Machines, Energy efficiency, Web Servers, etc.
• But for the purposes of measuring CPU performance we use the SPECint_rate2006
• Measures integer performance which all software makes heavy use of integer instructions
• The opposite of this is the Floating point performance which is useful for video games and digital
content creation
• Good thing about this benchmark is all CPUs are used because old versions of SPECint just measure 1CPU
which along the way of microprocessor advancements brought some inconsistencies so they have to revise
the benchmark
• Used by OEM for CPU sizing (stored in SYSMAN.EMCT_SPEC_RATE_LIB table)
• To get the CPU performance we compute for SPECint_rate2006/core
• On the website you’ll see this table and there’s a way to download it as CSV dump and you can hack the data so you
can quickly grep for data sets
5
Here’s the snippet from the SPEC.org website:
The yardstick of CPU performance is SPECint_rate2006/core and the X3-2 server above has a value of => 702/16 =
43.875
Then for easy comparison across platforms you can also pull the data points as CSV [6] and derive the
SPECint_rate2006/core value for each row:
Case #1: Comparing 2007 vs 2012 CPU speeds
To give you a better idea on how to make use of these published benchmarks we can make use of these numbers to compare
the CPUs from 2007 and 2012.
• The highlighted rows in yellow are the servers we are comparing
• The tpmC/core and SPECint_rate2006/core numbers are already derived and these numbers are shown on the
first column so for quick comparison purposes just focus your eyes on the first column
• The following are the rest of the header info for tpmC/core and SPECint_rate2006/core
tpmC/core
tpmC/core, System, tpmC, Price/Perf, Total System Cost, Currency, Database Software, Server CPU Type, Total
Server Cores, Cluster, Date Submitted
SPECint_rate2006/core
SPECint_rate2006/core, #Cores, #Chips, #Cores/Chip, #Threads/Core, Base, Peak, Hardware Vendor, System
6
• On year 2007, the IBM p570 is the fastest CPU around with 101,116 tpmC/core while the Proliant ML370 G5 is on
the range of 34K tpmC/core
• This performance gap is also evident on the SPECint_rate2006/core numbers which is 30.5 vs 18.25 respectively
• On year 2012 there’s no TPC-C data for Power7 servers but assuming that the SPECint_rate2006 numbers would
also reflect the TPC-C which is what it was back in 2007 we can say that the Intel CPUs nowadays are closing-in in
terms of performance
• From the SPECint_rate2006 of IBM, Sun X3-2, and Cisco UCS below they are pretty much on the same range, which
is 43-45 SPECint_rate2006/core. This means that if I’ll be doing server migrations across these servers I can size for
1:1 ratio, let’s say 16CPUs of X3-2 is equivalent to 16CPUs of IBM p780
• On Solaris M9000 (at the bottom), they are slow per thread/core but these servers have a lot of CPU cores. So if you
have a high logical IO capacity requirements then go for this box or you may opt to spread out across multiple UCS
blades or Sun X3-2
• With the knowledge of how to play around with the data points of published benchmarks you’ll be able perform
what-if capacity planning scenarios quickly and easily
7
Actual Benchmarking
• The actual benchmarking really boils down on how many LIOs you can do per second
• There are two tools that can do an Oracle Logical IO micro benchmark and these are cputoolkit and SLOB
• The main difference is on their workloads
• The cputoolkit [7] runs on multiple cycles and that depends on the start and end CPUs you put in the parameters
• So when you run ./runcputoolkit-auto 1 2 dw will make 1 CPU 100% busy on the first cycle and 2 CPUs
busy on 2nd cycle
• And when you do 1 – 8 it will do that kind of behavior on each cycle
• BTW the driver SQL of this tool is 1sec per execute which is doing more LIOs than SLOB
• The SLOB [8] on the other hand, spreads out the work on all the Logical CPUs so if I do ./runit.sh 0 2 it will be
utilizing the same workload as cputoolkit but spread out across CPUs
• But cputoolkit allows you to control the saturation of specific number of CPUs where in SLOB you need to make use
of numactl to pin it on specific CPUs
• But having varying CPU workloads [9] helps a lot on analyzing the Cores vs Threads behavior that I will discuss later
on this paper
• The actual benchmarking (LIO micro benchmark) is the most accurate in terms of comparing CPU speeds across
database servers
8
Case #2: Exadata V2 and X2 performance comparison and migration
On this example we will make use of the results of the cputoolkit to compare the CPU speeds between Exadata V2 and X2
and make use of the speed numbers to accurately estimate the CPU utilization on the new server even before doing the
migration.
Below is the speed comparison between the V2 and X2, the former having 2.1 million LIOs/sec and the latter with 3.6 million
LIOs/sec. Take note that these LIOs/sec numbers are at the peak utilization where all of the CPUs are very active.
And you can make use of the actual benchmark numbers when you are migrating a database from V2 to X2, below is a
Swingbench [10] run on both machines running the same ~1200 Transactions per second (TPS)
• Look closely at the CPU utilization of the V2 and the Elapsed times of the SQLs
• Even without the actual migration I can estimate the CPU utilization on the target machine by making use of the
actual benchmark numbers
9
• First we need to consider how fast the V2 CPUs compared to the X2… I call it the chip efficiency factor
Chip efficiency factor = (source LIOs/sec) / (destination LIOs/sec)
= 2.1M / 3.6M
= .5833
• 2nd we apply that factor to the current CPU usage of the V2 to get the requirements on the target machine
X2 CPU requirement = source host CPUs * utilization * chip efficiency factor
= 16 * .46
= 7.36 * .5833
= 4.29 CPUs
• Then divide the requirement by the CPU capacity
X2 CPU Utilization = CPU requirement / CPU capacity
= 4.29 / 24
= 17.8 %
• Now when we do the actual migration, this is what happens (look closely on the % and elapsed of the SQLs)
• So when migrating from a slower to faster CPU the per execution gets faster because of the CPU speed gains
resulting to lower CPU utilization
• With faster CPUs you are now able to process the same amount of Transactions per second (TPS) at less
time and lower CPU
• The lower CPU utilization will give you more headroom for more Transactions per second (TPS) resulting to
more work being done
10
PART 2: MEASURING CORES VS THREADS
About the Cores vs Threads test case:
• This is a test case to show the CPU behavior as you saturate up to the max # of CPUs and also showing the effects of
having Hyper-Threading and Turbo Boost on or off
• It's a CPU centric (LIOs) workload and as the server gets saturated up to max CPU then there's diminishing returns
on LIOs performance
• Above are the session level numbers
• Below are the workload level numbers
• With Hyper-Threading turned on once it gets past the core count from my tests you only get about 20%
increase up to the max # of threads. So it's really not doubling the CPU LIO capacity by any means but I
would always leave it enabled.
HTon-TurboOn
• On session level, as you use more and more CPUs the lesser LIOs/elapsed you can do (the more you are
sharing the LIO capacity with others) and once you reach the max CPUs count you start to see some wait
on run queue which ultimately affects the session response times
• The narration of the graph would be like this:
On the HTonTurboOn test case.. the x axis 14 saturated CPUs has y axis value of about 100,000 LIOs/Elap which means on
the workload level the LIOs/sec range is about 14 x 100,000 = 1400000 but at this point I'm consuming part of my response time on
CPU wait (run queue) for 1.2secs per execution (from 2.76 total elapsed.. not shown on graph)
Turbo boost
• On turbo boost notice that it only helps when you are just using 1 or 2 CPUs (either HTon or HToff), so the
overclocking effect does not really matter when you get all or most of the CPUs working even if turbostat (not
shown on the graph) shows that it is still doing the increase in clock rate
Hyper-Threading turned off
• On Hyper-Threading on the section HToff-TurboOn look at the 320K range LIOs on CPU#1 which is higher than
HTon-TurboOn, it may seem faster being on this config but this is what I mean by Hyper-Threading in a way
helping on scalability.. look at the effect on "CPU wait" (time spent on run queue) as it starts to manifest on the
response time of the SQLs when it reach the max CPUs of 4 (HToff) while if you have the HTon it starts at CPU 8.
So you are experiencing the queueing earlier and on the OS side with HToff the 2 CPU usage will immediately
tell 50% OS CPU utilization and 4 CPU as 100%. But with HTon (CPU 8) even if your are not getting linear
LIO performance once you get past the number of cores, completely avoiding "CPU wait" until the max #
of threads is still a good thing in terms of performance.
11
The session level numbers
The workload level numbers
12
• Also the 30% LIOs/sec performance increase is variable…
• As I mentioned earlier that cputoolkit and SLOB have different workloads
• cputoolkit having a more sustained 1sec executions
• SLOB having frequent millisecond level executions that tends to spread out the work on all CPUs
• Just treat the cputoolkit as the minimum LIOs/sec increase that you can get and 30% as a ceiling
• There’s also an Intel whitepaper [18] that explicitly says that you will only get 30% increase on Hyper-Threading
• Knowing this CPU behavior is a good knowledge to have when you do instance caging
• So when you do instance caging, make sure to treat the 75% of the total Logical CPUs as the ceiling
13
PART 3: THE DIFFERENT CPU EVENTS
There are three main CPU events in the database:
• CPU – the real CPU cycles
• CPU wait – the CPU time spent on run-queue
• CPU scheduler – the CPU time spent above the specified CPU_COUNT
The three events above are all measured in AAS (Average Active Sessions), and when talking about CPU requirements 1 AAS
CPU is equivalent to 1 Logical CPU being fully utilized. The examples below show a database server with 1socket, 4cores, and
8 Logical CPUs with a CPU_COUNT value of 8
The AAS CPU
• The workload below is coming from cputoolkit driving 2 CPUs and is well within the CPU capacity, this means that
all the sessions are getting served and not waiting on run-queue
The AAS CPU wait
• The workload is increased to 10 CPUs, with only 8 CPUs on the server this means that the workload is asking for
25% more CPU than the capacity which results to some of the CPU cycles to run on run-queue
14
15
The AAS CPU scheduler
• The instance caging is set to CPU_COUNT of 4 and that caused the CPU bound workload to drop. But still at this
state the workload is still asking for 10 CPUs only that the instance caging controlled the Oracle CPU cycles to just
make use of 4 CPUs.
16
• Putting it all together here’s a scenario where there was a sudden SQL plan change that caused the server to go CPU
bound and then instance caging was implemented and a SQL Profile fix was applied
17
PART 4: MONITORING THE CPU OF MASSIVELY CONSOLIDATED ENVIRONMENTS
On a massively consolidated environment having a single view of utilization across servers is very critical
• On the Operating System side there are a couple of helpful tools to help diagnose the source of the CPU surge
o collectl has this module called colmux [12] which collects data from different servers and presents it in one
streamlined output
o In Exadata the dcli command can be used together with vmstat and uptime commands to quickly
characterize the load of the servers
• On the database the Enterprise Manager Grid Control is a must have
o The Oracle Load Map can be a stethoscope to know which database is causing the CPU surge
o Clicking on the database will detail on the Performance Page which will enable you to monitor the CPU
usage in real time and historical
18
• Another useful way of monitoring the CPU resource usage is mining the AWR and extracting the data points as CSV
19
• Then you can make use of an analytics tool [13] to slice and dice, aggregate, and investigate on data across all of the
instances in a time series manner
20
• With the analytics tool you’ll be able to create visualizations [16] not available on current Oracle monitoring tools
• Below is a visualization of CPU usage across half rack Exadata, this clearly shows that when the BIPRD database was
implemented the CPU usage of the entire cluster went through the roof. This enabled a more focused tuning on just
the BIPRD database until the workload is stabilized.
21
• Having an instance dimension on the visualization will enable you to show the CPU usage per instance which is very
useful on server capacity planning as you can quickly estimate the CPU usage of each server just by looking at the
AAS CPU and dividing it by the CPU capacity of the server where that instance is residing. Here the instance #3 is on
AAS CPU of 21.94 with the total CPU of the server at 32, so the CPU utilization of that server is at 68.5%
• To get the cluster wide CPU utilization get the sum of all AAS CPU and divide it by the sum of server CPU capacity
• And if you are migrating from slower to faster CPU you need to take into account the CPU speed differences as
shown on the “Case #2: Exadata V2 and X2 performance comparison and migration” of this paper
22
• Visualizing the workload is also very helpful on capacity planning decisions, here the FSPRD database had a workload
growth on the month of April and distributing the instances across three nodes will help to have a balance workload
across the cluster
23
REFERENCES
1) cpu_topology - http://goo.gl/EUDG7
2) Intel architecture topology script http://goo.gl/50tRM
3) RedHat kbase DOC-7715 multi-processor/core or supports HT http://goo.gl/NI0nn
4) turbostat.c - http://goo.gl/jDUKg
5) cpu - TPC-C tpmC/core http://goo.gl/L4RXw
6) cpu - SPECint_rate2006 http://goo.gl/doBI5
7) cputoolkit - http://karlarao.wordpress.com/scripts-resources/
8) SLOB - http://goo.gl/yKa45
9) CPU centric benchmark comparisons - http://goo.gl/nR9Yy
10) Swingbench - http://www.dominicgiles.com/swingbench.html
11) Cores vs Threads - http://goo.gl/1MLFf
12) collect colmux - http://collectl-utils.sourceforge.net/colmux.html
13) Tableau Analytics - http://www.tableausoftware.com/
14) AAS investigation - http://goo.gl/5WaAg
15) Kyle Hailey - http://dboptimizer.com/2011/07/21/oracle-cpu-time/
16) AWR Tableau and R toolkit Visualization Examples - http://goo.gl/xZHHY
17) The mindmap of the “Where did my CPU go?” presentation - http://goo.gl/XeY0e
18) Intel Hyper-Threading technical user’s guide - http://goo.gl/FcMf2
19) Book: Computer Architecture: A Quantitative Approach 5th Ed - Chapter1 Section1.10 Putting it all together Perf, Price,
Power http://goo.gl/MXigAQ
20) Book: The Art of Scalability - Ch11 “Headroom” http://theartofscalability.com
21) Performance Page - CPU_COUNT, threads, cores line - http://goo.gl/CunHN
22) run_awr-quickextract - http://goo.gl/7uCk7w

More Related Content

What's hot

SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cTanel Poder
 
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
How a Developer can Troubleshoot a SQL performing poorly on a Production DBHow a Developer can Troubleshoot a SQL performing poorly on a Production DB
How a Developer can Troubleshoot a SQL performing poorly on a Production DBCarlos Sierra
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersCarlos Sierra
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
 
Oracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptOracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptChien Chung Shen
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsEnkitec
 
Chasing the optimizer
Chasing the optimizerChasing the optimizer
Chasing the optimizerMauro Pagano
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Carlos Sierra
 
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cAlfredo Krieg
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsCarlos Sierra
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linuxKyle Hailey
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explainedMauro Pagano
 
Oracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive PlansOracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive PlansFranck Pachot
 
Online index rebuild automation
Online index rebuild automationOnline index rebuild automation
Online index rebuild automationCarlos Sierra
 

What's hot (20)

SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12c
 
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
How a Developer can Troubleshoot a SQL performing poorly on a Production DBHow a Developer can Troubleshoot a SQL performing poorly on a Production DB
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
SQL Tuning 101
SQL Tuning 101SQL Tuning 101
SQL Tuning 101
 
Oracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptOracle Database Performance Tuning Concept
Oracle Database Performance Tuning Concept
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
Chasing the optimizer
Chasing the optimizerChasing the optimizer
Chasing the optimizer
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
 
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
 
AWR and ASH Deep Dive
AWR and ASH Deep DiveAWR and ASH Deep Dive
AWR and ASH Deep Dive
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
Christo kutrovsky oracle, memory & linux
Christo kutrovsky   oracle, memory & linuxChristo kutrovsky   oracle, memory & linux
Christo kutrovsky oracle, memory & linux
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explained
 
Oracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive PlansOracle Parallel Distribution and 12c Adaptive Plans
Oracle Parallel Distribution and 12c Adaptive Plans
 
Online index rebuild automation
Online index rebuild automationOnline index rebuild automation
Online index rebuild automation
 

Similar to Whitepaper: Where did my CPU go?

Whitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryWhitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryKristofferson A
 
Processor Selection for Middleware Price Performance Optimization
Processor Selection for Middleware Price Performance OptimizationProcessor Selection for Middleware Price Performance Optimization
Processor Selection for Middleware Price Performance Optimizationdakra137
 
L-2 (Computer Performance).ppt
L-2 (Computer Performance).pptL-2 (Computer Performance).ppt
L-2 (Computer Performance).pptImranKhan997082
 
Analyze database system using a 3 d method
Analyze database system using a 3 d methodAnalyze database system using a 3 d method
Analyze database system using a 3 d methodAjith Narayanan
 
Factors influencing the success of computer architecture
Factors influencing the success of computer architectureFactors influencing the success of computer architecture
Factors influencing the success of computer architectureMajane Padua
 
Lecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdfLecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdfAhmedWasiu
 
Disadvantages Of Robotium
Disadvantages Of RobotiumDisadvantages Of Robotium
Disadvantages Of RobotiumSusan Tullis
 
A PeopleSoft & OBIEE Consolidation Success Story
A PeopleSoft & OBIEE Consolidation Success StoryA PeopleSoft & OBIEE Consolidation Success Story
A PeopleSoft & OBIEE Consolidation Success StoryEnkitec
 
Oracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethodsOracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethodsAjith Narayanan
 
Trends in computer architecture
Trends in computer architectureTrends in computer architecture
Trends in computer architecturemuhammedsalihabbas
 
שבוע אורקל 2016
שבוע אורקל 2016שבוע אורקל 2016
שבוע אורקל 2016Aaron Shilo
 
Cse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionCse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionShobha Kumar
 
Topics - , Addressing modes, GPU, .pdf
Topics - , Addressing modes, GPU,  .pdfTopics - , Addressing modes, GPU,  .pdf
Topics - , Addressing modes, GPU, .pdfShubhamSinghRajput46
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsSiva Kumar
 
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORSAFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORScscpconf
 
Affect of parallel computing on multicore processors
Affect of parallel computing on multicore processorsAffect of parallel computing on multicore processors
Affect of parallel computing on multicore processorscsandit
 
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI ConvergenceDAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergenceinside-BigData.com
 
Learn about computer hardware and software
Learn about computer hardware and softwareLearn about computer hardware and software
Learn about computer hardware and softwarefarrukh ishaq choudhary
 
Central Processing Unit (Cpu)kurdish
Central Processing Unit (Cpu)kurdishCentral Processing Unit (Cpu)kurdish
Central Processing Unit (Cpu)kurdishRebin Daho
 

Similar to Whitepaper: Where did my CPU go? (20)

Whitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryWhitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success Story
 
Processor Selection for Middleware Price Performance Optimization
Processor Selection for Middleware Price Performance OptimizationProcessor Selection for Middleware Price Performance Optimization
Processor Selection for Middleware Price Performance Optimization
 
L-2 (Computer Performance).ppt
L-2 (Computer Performance).pptL-2 (Computer Performance).ppt
L-2 (Computer Performance).ppt
 
Analyze database system using a 3 d method
Analyze database system using a 3 d methodAnalyze database system using a 3 d method
Analyze database system using a 3 d method
 
Factors influencing the success of computer architecture
Factors influencing the success of computer architectureFactors influencing the success of computer architecture
Factors influencing the success of computer architecture
 
Lecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdfLecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdf
 
Disadvantages Of Robotium
Disadvantages Of RobotiumDisadvantages Of Robotium
Disadvantages Of Robotium
 
A PeopleSoft & OBIEE Consolidation Success Story
A PeopleSoft & OBIEE Consolidation Success StoryA PeopleSoft & OBIEE Consolidation Success Story
A PeopleSoft & OBIEE Consolidation Success Story
 
Oracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethodsOracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethods
 
Trends in computer architecture
Trends in computer architectureTrends in computer architecture
Trends in computer architecture
 
שבוע אורקל 2016
שבוע אורקל 2016שבוע אורקל 2016
שבוע אורקל 2016
 
Cse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solutionCse viii-advanced-computer-architectures-06cs81-solution
Cse viii-advanced-computer-architectures-06cs81-solution
 
Topics - , Addressing modes, GPU, .pdf
Topics - , Addressing modes, GPU,  .pdfTopics - , Addressing modes, GPU,  .pdf
Topics - , Addressing modes, GPU, .pdf
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
 
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORSAFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
 
Affect of parallel computing on multicore processors
Affect of parallel computing on multicore processorsAffect of parallel computing on multicore processors
Affect of parallel computing on multicore processors
 
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI ConvergenceDAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
DAOS - Scale-Out Software-Defined Storage for HPC/Big Data/AI Convergence
 
module01.ppt
module01.pptmodule01.ppt
module01.ppt
 
Learn about computer hardware and software
Learn about computer hardware and softwareLearn about computer hardware and software
Learn about computer hardware and software
 
Central Processing Unit (Cpu)kurdish
Central Processing Unit (Cpu)kurdishCentral Processing Unit (Cpu)kurdish
Central Processing Unit (Cpu)kurdish
 

More from Kristofferson A

RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)Kristofferson A
 
The Database Sizing Workflow
The Database Sizing WorkflowThe Database Sizing Workflow
The Database Sizing WorkflowKristofferson A
 
RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?Kristofferson A
 
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...Kristofferson A
 
OOW 2013: Where did my CPU go
OOW 2013: Where did my CPU goOOW 2013: Where did my CPU go
OOW 2013: Where did my CPU goKristofferson A
 
KSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKristofferson A
 
RMOUG 2013 - Where did my CPU go?
RMOUG 2013 - Where did my CPU go?RMOUG 2013 - Where did my CPU go?
RMOUG 2013 - Where did my CPU go?Kristofferson A
 
RMOUG 2012 - Mining the AWR
RMOUG 2012 - Mining the AWRRMOUG 2012 - Mining the AWR
RMOUG 2012 - Mining the AWRKristofferson A
 
VirtaThon 2011 - Mining the AWR
VirtaThon 2011 - Mining the AWRVirtaThon 2011 - Mining the AWR
VirtaThon 2011 - Mining the AWRKristofferson A
 
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Kristofferson A
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACKristofferson A
 
OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...
OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...
OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...Kristofferson A
 
Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...
Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...
Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...Kristofferson A
 

More from Kristofferson A (14)

RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
 
The Database Sizing Workflow
The Database Sizing WorkflowThe Database Sizing Workflow
The Database Sizing Workflow
 
RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?RedGateWebinar - Where did my CPU go?
RedGateWebinar - Where did my CPU go?
 
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
 
OOW 2013: Where did my CPU go
OOW 2013: Where did my CPU goOOW 2013: Where did my CPU go
OOW 2013: Where did my CPU go
 
KSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success Story
 
RMOUG 2013 - Where did my CPU go?
RMOUG 2013 - Where did my CPU go?RMOUG 2013 - Where did my CPU go?
RMOUG 2013 - Where did my CPU go?
 
RMOUG 2012 - Mining the AWR
RMOUG 2012 - Mining the AWRRMOUG 2012 - Mining the AWR
RMOUG 2012 - Mining the AWR
 
VirtaThon 2011 - Mining the AWR
VirtaThon 2011 - Mining the AWRVirtaThon 2011 - Mining the AWR
VirtaThon 2011 - Mining the AWR
 
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
 
Devcon: Virtualization?
Devcon: Virtualization?Devcon: Virtualization?
Devcon: Virtualization?
 
OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...
OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...
OOW Unconference 2010: Mining the AWR repository for Capacity Planning, Visua...
 
Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...
Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...
Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear re...
 

Recently uploaded

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Whitepaper: Where did my CPU go?

  • 1. 1 "W"WHEREHERE DDIDID MMYY CPUCPU GGOO?"?" -- MMONITORING ANDONITORING AND CCAPACITYAPACITY PPLANNINGLANNING AADVENTURES ON ADVENTURES ON A CCONSOLIDATEDONSOLIDATED EENVIRONMENTNVIRONMENT Karl Arao, Enkitec ABSTRACT This paper will focus on CPU monitoring and capacity planning as well as the scenarios that are typically encountered on a massively consolidated environment, where, let's say you have 30+ databases and you want to know how much CPUs they are using at a particular time interval. Before touching on the cool tricks, a deep dive into important CPU topics and metrics is a MUST. In Oracle world the CPU is not just the "Green Thing" in the Enterprise Manager. It's actually much more than that. We will discuss the usual CPU monitoring tools in OEM, visualization enhancements that can be made by AWR analytics, and how these can be applied to critical capacity planning scenarios. TARGET AUDIENCE Target audiences are DBAs, Architects, Performance Engineers, and Capacity Planners Learner will be able to: • Compare CPU speeds between hardware platforms • Identify the different database CPU events • Identify the consolidated CPU load of a cluster environment • Take quantitative CPU information and make use of visualization tools for solid capacity planning solutions BACKGROUND When you migrate a database or when you move instances from one server to another you have to know how will those instances behave once they are on the new server if the instance CPU requirements will fit on the server CPU capacity. Knowing the end utilization before even doing the migration is even better because it will enable you to plan for CPU resource management and project the resource utilization of that machine in the next coming months. Every DBA should have a deep understanding how the CPU works, how to administer it, and it’s a very critical resource being a big driver on server migration and acquisition decisions. PART 1: COMPARING CPU SPEEDS Let’s start with how Oracle calculates the default settings for CPU resources and this is dictated by the database parameter CPU_COUNT. • Essentially the CPU_COUNT is the number of CPUs that your database is using
  • 2. 2 • And that actually boils down to the number of Logical CPUs that you have on your DB server • And this is actually the parameter that you alter to allocate just specific number of CPUs to a particular database which is what you do on “Instance Caging” Let’s dive little bit deeper on the CPU architecture specifically the (Sockets, Cores, Threads) so you’ll have an idea on how Oracle calculates the default settings for CPU resources. The above image is the CPU architecture of an Exadata V2 machine with the following specifications: • Total of 2 sockets that is equivalent to 2 physical CPUs • Total of 8 cores which is 4 cores for each socket • Total of 16 threads because with HT each core has 2 logical CPUs The 16 threads are the Logical CPUs being shown on the CPU_COUNT parameter, another view of this architecture is shown below from the cpu_topology [1] script output The cpu_topology script parses the dmidecode and /proc/cpuinfo and it’s very useful for a quick characterization of the CPU architecture plus the make and model • The script should give you the hardware make and model when executed as root • Processors – are numbered sequentially across the two sockets • If you grep for “Physical ID” – that’s the distinct number of the number of sockets • If you grep for “Siblings” – that’s the Logical CPUs (per socket) • “Core ID” is just the ID numbering for each core • “CPU cores” – number of cores (per socket) Read on the RedHat Doc-7715 [2] for more details on how to determine if your Intel CPU is multi-processor, multi-core, or supports Hyper-Threading
  • 3. 3 To monitor the utilization of each Logical CPU and how it maps to core and physical socket there’s a tool by Intel that you can use called “turbostat” [4], the important columns are as follows: • The TSC column is the published clock rate of the CPU • The GHz is the turbo boost clock rate (similar to overclocking) You can see on the image that there is a single threaded highly active process that made one CPU 99% utilized because whenever possible the turbo boost feature will increase the frequency of that particular processor core. By using the script you’ll be able to tell if the turbo boost is kicking in or at least if it’s enabled. On the later sections of the paper I’ll explain more about this feature and show you the performance matrix when we turn off/on Hyper-Threading and Turbo Boost. Different methods of measuring CPU speeds: There are different ways to measure the CPU speed of one platform to another but the bottom line is to come up with a single currency system between hardware platforms to be able to quickly measure the speed differences. Below are the methods: • Published benchmarks TPC-C SPECint_rate2006 • Actual Benchmarking cputoolkit SLOB (Logical IO test) TPC-C This is probably the most known benchmark… • Published by a non-profit organization called Transaction Processing Performance Council (TPC) • Performance is measured by tpmC and price/performance which you usually see on the Full Disclosure Report (FDR) • To get the CPU performance, we need to derive the tpmC/core which we can easily pull the CSV data from the site • Then we compare this number to another platform which is a good yardstick for comparing different CPUs ability to crank through database code path (Logical IOs mostly) because they are being executed on an Oracle database
  • 4. 4 Here’s the snippet from the Full Disclosure Report: Here’s the CSV output [5] of the TPC-C benchmark: The yardstick of CPU performance is the tpmC / core and the Cisco UCS server above has a value of => 1609186.39 / 16 = 100574 SPECint_rate2006 • Published by a non-profit organization called SPEC • The organization is more diverse because it has a suite of benchmarks to measure the performance of let’s say Java, Virtual Machines, Energy efficiency, Web Servers, etc. • But for the purposes of measuring CPU performance we use the SPECint_rate2006 • Measures integer performance which all software makes heavy use of integer instructions • The opposite of this is the Floating point performance which is useful for video games and digital content creation • Good thing about this benchmark is all CPUs are used because old versions of SPECint just measure 1CPU which along the way of microprocessor advancements brought some inconsistencies so they have to revise the benchmark • Used by OEM for CPU sizing (stored in SYSMAN.EMCT_SPEC_RATE_LIB table) • To get the CPU performance we compute for SPECint_rate2006/core • On the website you’ll see this table and there’s a way to download it as CSV dump and you can hack the data so you can quickly grep for data sets
  • 5. 5 Here’s the snippet from the SPEC.org website: The yardstick of CPU performance is SPECint_rate2006/core and the X3-2 server above has a value of => 702/16 = 43.875 Then for easy comparison across platforms you can also pull the data points as CSV [6] and derive the SPECint_rate2006/core value for each row: Case #1: Comparing 2007 vs 2012 CPU speeds To give you a better idea on how to make use of these published benchmarks we can make use of these numbers to compare the CPUs from 2007 and 2012. • The highlighted rows in yellow are the servers we are comparing • The tpmC/core and SPECint_rate2006/core numbers are already derived and these numbers are shown on the first column so for quick comparison purposes just focus your eyes on the first column • The following are the rest of the header info for tpmC/core and SPECint_rate2006/core tpmC/core tpmC/core, System, tpmC, Price/Perf, Total System Cost, Currency, Database Software, Server CPU Type, Total Server Cores, Cluster, Date Submitted SPECint_rate2006/core SPECint_rate2006/core, #Cores, #Chips, #Cores/Chip, #Threads/Core, Base, Peak, Hardware Vendor, System
  • 6. 6 • On year 2007, the IBM p570 is the fastest CPU around with 101,116 tpmC/core while the Proliant ML370 G5 is on the range of 34K tpmC/core • This performance gap is also evident on the SPECint_rate2006/core numbers which is 30.5 vs 18.25 respectively • On year 2012 there’s no TPC-C data for Power7 servers but assuming that the SPECint_rate2006 numbers would also reflect the TPC-C which is what it was back in 2007 we can say that the Intel CPUs nowadays are closing-in in terms of performance • From the SPECint_rate2006 of IBM, Sun X3-2, and Cisco UCS below they are pretty much on the same range, which is 43-45 SPECint_rate2006/core. This means that if I’ll be doing server migrations across these servers I can size for 1:1 ratio, let’s say 16CPUs of X3-2 is equivalent to 16CPUs of IBM p780 • On Solaris M9000 (at the bottom), they are slow per thread/core but these servers have a lot of CPU cores. So if you have a high logical IO capacity requirements then go for this box or you may opt to spread out across multiple UCS blades or Sun X3-2 • With the knowledge of how to play around with the data points of published benchmarks you’ll be able perform what-if capacity planning scenarios quickly and easily
  • 7. 7 Actual Benchmarking • The actual benchmarking really boils down on how many LIOs you can do per second • There are two tools that can do an Oracle Logical IO micro benchmark and these are cputoolkit and SLOB • The main difference is on their workloads • The cputoolkit [7] runs on multiple cycles and that depends on the start and end CPUs you put in the parameters • So when you run ./runcputoolkit-auto 1 2 dw will make 1 CPU 100% busy on the first cycle and 2 CPUs busy on 2nd cycle • And when you do 1 – 8 it will do that kind of behavior on each cycle • BTW the driver SQL of this tool is 1sec per execute which is doing more LIOs than SLOB • The SLOB [8] on the other hand, spreads out the work on all the Logical CPUs so if I do ./runit.sh 0 2 it will be utilizing the same workload as cputoolkit but spread out across CPUs • But cputoolkit allows you to control the saturation of specific number of CPUs where in SLOB you need to make use of numactl to pin it on specific CPUs • But having varying CPU workloads [9] helps a lot on analyzing the Cores vs Threads behavior that I will discuss later on this paper • The actual benchmarking (LIO micro benchmark) is the most accurate in terms of comparing CPU speeds across database servers
  • 8. 8 Case #2: Exadata V2 and X2 performance comparison and migration On this example we will make use of the results of the cputoolkit to compare the CPU speeds between Exadata V2 and X2 and make use of the speed numbers to accurately estimate the CPU utilization on the new server even before doing the migration. Below is the speed comparison between the V2 and X2, the former having 2.1 million LIOs/sec and the latter with 3.6 million LIOs/sec. Take note that these LIOs/sec numbers are at the peak utilization where all of the CPUs are very active. And you can make use of the actual benchmark numbers when you are migrating a database from V2 to X2, below is a Swingbench [10] run on both machines running the same ~1200 Transactions per second (TPS) • Look closely at the CPU utilization of the V2 and the Elapsed times of the SQLs • Even without the actual migration I can estimate the CPU utilization on the target machine by making use of the actual benchmark numbers
  • 9. 9 • First we need to consider how fast the V2 CPUs compared to the X2… I call it the chip efficiency factor Chip efficiency factor = (source LIOs/sec) / (destination LIOs/sec) = 2.1M / 3.6M = .5833 • 2nd we apply that factor to the current CPU usage of the V2 to get the requirements on the target machine X2 CPU requirement = source host CPUs * utilization * chip efficiency factor = 16 * .46 = 7.36 * .5833 = 4.29 CPUs • Then divide the requirement by the CPU capacity X2 CPU Utilization = CPU requirement / CPU capacity = 4.29 / 24 = 17.8 % • Now when we do the actual migration, this is what happens (look closely on the % and elapsed of the SQLs) • So when migrating from a slower to faster CPU the per execution gets faster because of the CPU speed gains resulting to lower CPU utilization • With faster CPUs you are now able to process the same amount of Transactions per second (TPS) at less time and lower CPU • The lower CPU utilization will give you more headroom for more Transactions per second (TPS) resulting to more work being done
  • 10. 10 PART 2: MEASURING CORES VS THREADS About the Cores vs Threads test case: • This is a test case to show the CPU behavior as you saturate up to the max # of CPUs and also showing the effects of having Hyper-Threading and Turbo Boost on or off • It's a CPU centric (LIOs) workload and as the server gets saturated up to max CPU then there's diminishing returns on LIOs performance • Above are the session level numbers • Below are the workload level numbers • With Hyper-Threading turned on once it gets past the core count from my tests you only get about 20% increase up to the max # of threads. So it's really not doubling the CPU LIO capacity by any means but I would always leave it enabled. HTon-TurboOn • On session level, as you use more and more CPUs the lesser LIOs/elapsed you can do (the more you are sharing the LIO capacity with others) and once you reach the max CPUs count you start to see some wait on run queue which ultimately affects the session response times • The narration of the graph would be like this: On the HTonTurboOn test case.. the x axis 14 saturated CPUs has y axis value of about 100,000 LIOs/Elap which means on the workload level the LIOs/sec range is about 14 x 100,000 = 1400000 but at this point I'm consuming part of my response time on CPU wait (run queue) for 1.2secs per execution (from 2.76 total elapsed.. not shown on graph) Turbo boost • On turbo boost notice that it only helps when you are just using 1 or 2 CPUs (either HTon or HToff), so the overclocking effect does not really matter when you get all or most of the CPUs working even if turbostat (not shown on the graph) shows that it is still doing the increase in clock rate Hyper-Threading turned off • On Hyper-Threading on the section HToff-TurboOn look at the 320K range LIOs on CPU#1 which is higher than HTon-TurboOn, it may seem faster being on this config but this is what I mean by Hyper-Threading in a way helping on scalability.. look at the effect on "CPU wait" (time spent on run queue) as it starts to manifest on the response time of the SQLs when it reach the max CPUs of 4 (HToff) while if you have the HTon it starts at CPU 8. So you are experiencing the queueing earlier and on the OS side with HToff the 2 CPU usage will immediately tell 50% OS CPU utilization and 4 CPU as 100%. But with HTon (CPU 8) even if your are not getting linear LIO performance once you get past the number of cores, completely avoiding "CPU wait" until the max # of threads is still a good thing in terms of performance.
  • 11. 11 The session level numbers The workload level numbers
  • 12. 12 • Also the 30% LIOs/sec performance increase is variable… • As I mentioned earlier that cputoolkit and SLOB have different workloads • cputoolkit having a more sustained 1sec executions • SLOB having frequent millisecond level executions that tends to spread out the work on all CPUs • Just treat the cputoolkit as the minimum LIOs/sec increase that you can get and 30% as a ceiling • There’s also an Intel whitepaper [18] that explicitly says that you will only get 30% increase on Hyper-Threading • Knowing this CPU behavior is a good knowledge to have when you do instance caging • So when you do instance caging, make sure to treat the 75% of the total Logical CPUs as the ceiling
  • 13. 13 PART 3: THE DIFFERENT CPU EVENTS There are three main CPU events in the database: • CPU – the real CPU cycles • CPU wait – the CPU time spent on run-queue • CPU scheduler – the CPU time spent above the specified CPU_COUNT The three events above are all measured in AAS (Average Active Sessions), and when talking about CPU requirements 1 AAS CPU is equivalent to 1 Logical CPU being fully utilized. The examples below show a database server with 1socket, 4cores, and 8 Logical CPUs with a CPU_COUNT value of 8 The AAS CPU • The workload below is coming from cputoolkit driving 2 CPUs and is well within the CPU capacity, this means that all the sessions are getting served and not waiting on run-queue The AAS CPU wait • The workload is increased to 10 CPUs, with only 8 CPUs on the server this means that the workload is asking for 25% more CPU than the capacity which results to some of the CPU cycles to run on run-queue
  • 14. 14
  • 15. 15 The AAS CPU scheduler • The instance caging is set to CPU_COUNT of 4 and that caused the CPU bound workload to drop. But still at this state the workload is still asking for 10 CPUs only that the instance caging controlled the Oracle CPU cycles to just make use of 4 CPUs.
  • 16. 16 • Putting it all together here’s a scenario where there was a sudden SQL plan change that caused the server to go CPU bound and then instance caging was implemented and a SQL Profile fix was applied
  • 17. 17 PART 4: MONITORING THE CPU OF MASSIVELY CONSOLIDATED ENVIRONMENTS On a massively consolidated environment having a single view of utilization across servers is very critical • On the Operating System side there are a couple of helpful tools to help diagnose the source of the CPU surge o collectl has this module called colmux [12] which collects data from different servers and presents it in one streamlined output o In Exadata the dcli command can be used together with vmstat and uptime commands to quickly characterize the load of the servers • On the database the Enterprise Manager Grid Control is a must have o The Oracle Load Map can be a stethoscope to know which database is causing the CPU surge o Clicking on the database will detail on the Performance Page which will enable you to monitor the CPU usage in real time and historical
  • 18. 18 • Another useful way of monitoring the CPU resource usage is mining the AWR and extracting the data points as CSV
  • 19. 19 • Then you can make use of an analytics tool [13] to slice and dice, aggregate, and investigate on data across all of the instances in a time series manner
  • 20. 20 • With the analytics tool you’ll be able to create visualizations [16] not available on current Oracle monitoring tools • Below is a visualization of CPU usage across half rack Exadata, this clearly shows that when the BIPRD database was implemented the CPU usage of the entire cluster went through the roof. This enabled a more focused tuning on just the BIPRD database until the workload is stabilized.
  • 21. 21 • Having an instance dimension on the visualization will enable you to show the CPU usage per instance which is very useful on server capacity planning as you can quickly estimate the CPU usage of each server just by looking at the AAS CPU and dividing it by the CPU capacity of the server where that instance is residing. Here the instance #3 is on AAS CPU of 21.94 with the total CPU of the server at 32, so the CPU utilization of that server is at 68.5% • To get the cluster wide CPU utilization get the sum of all AAS CPU and divide it by the sum of server CPU capacity • And if you are migrating from slower to faster CPU you need to take into account the CPU speed differences as shown on the “Case #2: Exadata V2 and X2 performance comparison and migration” of this paper
  • 22. 22 • Visualizing the workload is also very helpful on capacity planning decisions, here the FSPRD database had a workload growth on the month of April and distributing the instances across three nodes will help to have a balance workload across the cluster
  • 23. 23 REFERENCES 1) cpu_topology - http://goo.gl/EUDG7 2) Intel architecture topology script http://goo.gl/50tRM 3) RedHat kbase DOC-7715 multi-processor/core or supports HT http://goo.gl/NI0nn 4) turbostat.c - http://goo.gl/jDUKg 5) cpu - TPC-C tpmC/core http://goo.gl/L4RXw 6) cpu - SPECint_rate2006 http://goo.gl/doBI5 7) cputoolkit - http://karlarao.wordpress.com/scripts-resources/ 8) SLOB - http://goo.gl/yKa45 9) CPU centric benchmark comparisons - http://goo.gl/nR9Yy 10) Swingbench - http://www.dominicgiles.com/swingbench.html 11) Cores vs Threads - http://goo.gl/1MLFf 12) collect colmux - http://collectl-utils.sourceforge.net/colmux.html 13) Tableau Analytics - http://www.tableausoftware.com/ 14) AAS investigation - http://goo.gl/5WaAg 15) Kyle Hailey - http://dboptimizer.com/2011/07/21/oracle-cpu-time/ 16) AWR Tableau and R toolkit Visualization Examples - http://goo.gl/xZHHY 17) The mindmap of the “Where did my CPU go?” presentation - http://goo.gl/XeY0e 18) Intel Hyper-Threading technical user’s guide - http://goo.gl/FcMf2 19) Book: Computer Architecture: A Quantitative Approach 5th Ed - Chapter1 Section1.10 Putting it all together Perf, Price, Power http://goo.gl/MXigAQ 20) Book: The Art of Scalability - Ch11 “Headroom” http://theartofscalability.com 21) Performance Page - CPU_COUNT, threads, cores line - http://goo.gl/CunHN 22) run_awr-quickextract - http://goo.gl/7uCk7w